<?php
	include(CMS_DIR . "/model/" . $model . ".class.php");
	/**
	*菜单控制模块
	**/
	class Menu {
		// 构造函数
		public function __constract(){
		}

		// 菜单列表
		public function menulist($data){
			$menuObj = new MenuClass();
			$menuList = $menuObj->getList();
			returnAjaxJson(200, "操作成功！", $menuList);
		}

		// 添加菜单
		public function add($data){
			// 验证类型值范围
			if(!valifyRange($data->type, array(0, 1, 2))){
				returnAjaxJson(400, "type类型格式错误！", null);
			}

			// 验证id整数类型
			if(!is_int($data->parentId)){
				returnAjaxJson(400, "parentId格式错误！", null);
			}
			
			$menuObj = new MenuClass();
			$menuObj->add($data);
			returnAjaxJson(200, "操作成功！", null);
		}

		// 删除菜单
		public function del($data){
			// 验证id整数类型
			if(!is_int($data->id)){
				returnAjaxJson(400, "id格式错误！", null);
			}

			$menuObj = new MenuClass();
			$menuObj->del($data);
			returnAjaxJson(200, "操作成功！", null);
		}

		// 编辑菜单
		public function edit($data){
			// 验证id整数类型
			if(!is_int($data->id)){
				returnAjaxJson(400, "id格式错误！", null);
			}

			// 验证类型值范围
			if(!valifyRange($data->type, array(0, 1, 2))){
				returnAjaxJson(400, "type类型格式错误！", null);
			}

			$menuObj = new MenuClass();
			$menuObj->edit($data);
			returnAjaxJson(200, "操作成功！", null);
		}

		// 启用、禁用菜单
		public function enable($data){
			// 验证id整数类型
			if(!is_int($data->id)){
				returnAjaxJson(400, "id格式错误！", null);
			}

			// 验证flag类型值范围
			if(!valifyRange($data->flag, array(0, 1))){
				returnAjaxJson(400, "flag类型格式错误！", null);
			}

			$menuObj = new MenuClass();
			$menuObj->enable($data);
			returnAjaxJson(200, "操作成功！", null);
		}

		// 排序
		public function order($data){
			// 验证参数
			$len = count($data);
			for($i=0; $i<$len; $i++){
				$item = $data[$i];
				if(!is_int($item->id) || !is_int($item->listorder)){
					returnAjaxJson(400, "参数有误！", null);
				}
			}

			$menuObj = new MenuClass();
			$menuObj->order($data);
			returnAjaxJson(200, "操作成功！", null);
		}
	}
?>